﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>

    <p>
        int3 is used to call the DebugStub. Currently all C# lines emit an int3 and 
        DebugStub checks it against a list of current breakpoints.</p>
    <h3>
        Future Improvement</h3>
    <p>
        Int3 on every C# line does create likely a fair performance penalty.</p>
    <p>
        In the future the 
        int3 ops should have noop placeholders which are dynamically replaced by int3 
        ops on demand. Also in future dont need noop placeholders - could replace first 
        byte of op and restore it...</p>
    <p>
        However Int3 is also used to monitor the serial port for commands. So if we make 
        it a dynamic call, we still need to insert some special int3 or other calls to 
        check for serial commands at some reguilar interval. We cannout use hardware 
        interrupts. Maybe emit Int3 calls at every method or loop start?</p>

</body>
</html>
